package com.ys.nms.module.business.controller.admin.ipv4Addresses.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.VO;
import com.ys.nms.module.business.dal.dataobject.ports.PortsDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - IP地址 Response VO")
@Data
@ExcelIgnoreUnannotated
public class Ipv4AddressesRespVO implements VO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16904")
    @ExcelProperty("ID")
    @TableId
    private Integer ipv4AddressId;

    @Schema(description = "IPv4 地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("IPv4 地址")
    private String ipv4Address;

    @Schema(description = "子网掩码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("子网掩码")
    private Integer ipv4Prefixlen;

    @Schema(description = "子网的网络地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "5008")
    @ExcelProperty("子网的网络地址")
    private String ipv4NetworkId;

    @Schema(description = "端口ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7618")
    @ExcelProperty("端口ID")
    @Trans(type = TransType.SIMPLE, target = PortsDO.class, fields = { "ifName"}, refs = { "portName"})
    private Integer portId;

    private String portName;

    @Schema(description = "SNMP 上下文名称", example = "芋艿")
    @ExcelProperty("SNMP 上下文名称")
    private String contextName;

}
